import axios from "axios";
import router from "@/router";
// 判断是生产环境还是开发环境
// npm run dev---->开发环境
// npm run build---->生产环境

const isDev = process.env.NODE_ENV === 'development' // 真 - 开发环境，假-生产环境
const instance = axios.create({
    baseURL: isDev ? "http://47.94.6.186:3001" : "http://xxx/api",
})
// 请求拦截器（请求了都会走）
// 拦截器 ,处理请求
instance.interceptors.request.use((config) => {
    if (localStorage.getItem("token")) {
        config.headers.token = localStorage.getItem('token') // +++++
    }
    return config
}, (err) => {
    return Promise.reject(err)
})

instance.interceptors.response.use((response) => {
  // 判断登录标识 是否有效，如果无效跳转至登录页面，如果有效，不做操作
  if (response.data.code === '10119') {
    // 没有传递token 或者 token过期
    // 跳转到登录页面 重新登录
    router.push('/login')
    return null
  } else {
    return response
  }
}, (err) => { // 4xx 5xx
  return Promise.reject(err)
})

export default instance;